package net.vmiranda.jeds.core.proyectos;

import java.util.List;

import net.vmiranda.jeds.core.jpa.Jpa;
import net.vmiranda.jeds.core.usuarios.Usuario;

public class ProyectosManager {

	public void insertarProyecto(Proyecto p){
		//TODO
	}
	
	public List<Proyecto> proyectos(){
		List<Proyecto> lista = null;
		String strQuery = "SELECT p FROM Proyecto p";
		lista = Jpa.getEm().createQuery(strQuery).getResultList();
		return lista;
	}
	
	public List<Proyecto> proyectosByUser(Usuario u){
		assert(u != null);
		String idUsuario = u.getIdUsuario();
		List<Proyecto> lista = null;
		String strQuery = "SELECT p FROM Proyecto p,UsuariosProyecto up WHERE p.idProyecto = up.id.idProyecto AND up.id.idUsuario = :usuario";
		lista = Jpa.getEm().createQuery(strQuery).setParameter("usuario",idUsuario).getResultList();
		return lista;
	}
	
	public List<CategoriaProyecto> categoriasProyecto(int idProyecto){
		List<CategoriaProyecto> categorias = null;
		String sqlString = "SELECT c FROM CategoriaProyecto c WHERE c.idProyecto = :idProyecto";
		categorias = Jpa.getEm()
			.createQuery(sqlString)
			.setParameter("idProyecto", Integer.valueOf(idProyecto)).getResultList();
		
		return categorias;
	}
	
	public List<CategoriaProyecto> categorias(){
		List<CategoriaProyecto> categorias = null;
		String sqlString = "SELECT c FROM CategoriaProyecto c";
		categorias = Jpa.getEm().createQuery(sqlString).getResultList();
		
		return categorias;
	}
}
